Reed-Solomon codes are used for error correction in, for example, terrestrial wave digital broadcasting system. With Reed-Solomon codes, a series of bits can be treated as one symbol. With Reed-Solomon codes, error correction can be performed symbol by symbol. A base size (symbol length) of a Reed-Solomon code word is defined by the number of elements included in division algebra that defines symbols. When implemented, a code word which is shorter than the base size (hereinafter, called a “shortened code word”) is sometimes used.
In order to increase the rate of decoding a shortened code word (in other words, to reduce decoding latency), correction coefficients are used in accordance with the size of a shortened code word to be decoded. On the other hand, in the decoding process, it is necessary to secure hardware (e.g., a dedicated circuitry) and a period for calculating such correction coefficients.